package top.continew.admin.sport.model.req;

import java.io.Serial;
import java.time.LocalDateTime;

import jakarta.validation.constraints.*;

import lombok.Data;

import io.swagger.v3.oas.annotations.media.Schema;

import org.hibernate.validator.constraints.Length;

import top.continew.starter.extension.crud.model.req.BaseReq;

/**
 * 创建或修改比赛成绩信息
 *
 * @author xiahaike
 * @since 2024/09/15 12:52
 */
@Data
@Schema(description = "创建或修改比赛成绩信息")
public class ProjectEntryGradeReq extends BaseReq {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 项目报名id
     */
    @Schema(description = "项目报名id")
    @NotNull(message = "项目报名id不能为空")
    private Long projectEntryId;

    /**
     * 比赛结果
     */
    @Schema(description = "比赛结果")
    @NotBlank(message = "比赛结果不能为空")
    @Length(max = 128, message = "比赛结果长度不能超过 {max} 个字符")
    private String result;

    /**
     * 成绩
     */
    @Schema(description = "成绩")
    @NotNull(message = "成绩不能为空")
    private String score;

    /**
     * 成绩是否有效 0：有效，1：无效
     */
    @Schema(description = "成绩是否有效 0：有效，1：无效")
    @NotNull(message = "成绩是否有效 0：有效，1：无效不能为空")
    private Integer isEffective;

    /**
     * 成绩无效原因 若有效则为NULL
     */
    @Schema(description = "成绩无效原因 若有效则为NULL")
    @Length(max = 128, message = "成绩无效原因 若有效则为NULL长度不能超过 {max} 个字符")
    private String reason;
}